/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* E.P. Scene Graph
* Developed by:
*       - Eduardo Ribeiro (eribeiro @ tecgraf . puc-rio . br)
*       - Peter Dam (peter @ tecgraf . puc-rio . br)
* File: LightSource.h
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#ifndef _EPSG_LIGHTSOURCE_
#define _EPSG_LIGHTSOURCE_

#include "EPSG/Leaf.h"
#include "EPSG/Vec3.h"
#include "EPSG/Vec4.h"

namespace EPSG
{
	class LightSource : public Leaf
	{
	public:
		/* [CONSTRUCTOR] */	LightSource();

		virtual void		setupLights();

		void				setAmbient( float r, float g, float b, float a );
		void				setDiffuse( float r, float g, float b, float a );
		void				setSpecular( float r, float g, float b, float a );

		void				enable( bool val );

	protected:
		int					_id;
		float				_amb[4];
		float				_dif[4];
		float				_spc[4];
		bool				_enabled;
	};
}

#endif //_EPSG_LIGHTSOURCE_